﻿#ifndef TABBARBUTTON_H
#define TABBARBUTTON_H

#include <QPushButton>
#include <QDebug>
#include <QLabel>
#include <QHBoxLayout>
#include <QSpacerItem>
#include <QPainter>
#include <QWebEngineView>
#include "tabbuttonwidget.h"
#include "customwebview.h"

class TabBarButton : public QPushButton
{
    Q_OBJECT

public:
    TabBarButton(QWidget *parent);

    void emitRemove();

    void setTabIcon(const QIcon&);

    void loadWebViewIcon(bool ok);

    void setTabText(const QString &);

    void loadUrl(const QUrl &url);
    void refresh();

    void updateWhatIs(const QString title);

public:
//    QLabel *tab_icon;
//    QLabel *tab_text;
//    QSpacerItem * spacer_item;
//    QPushButton *tab_close_btn;
    TabButtonWidget *tab_button;
    CustomWebView *view_widget;   // 该tab对应的网页视图组件

    void setActiveTabStyle();
    void setDefaultTabStyle();

signals:
    // 移除tab，信号指针
    void remove(TabBarButton *btn_ptr);

    // 点击时，change view信号
    void change(TabBarButton *view_ptr);

};

#endif // TABBARBUTTON_H
